package com.sojson.entity.po;

import java.util.ArrayList;
import java.util.Date;

import com.sojson.base.impl.BaseDto;
import com.sojson.util.DateUtil;
import com.sojson.util.token.Token;
import com.sojson.util.token.TokenUtil;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 收货地址表Bean
 * 
 * @author liu
 * @date 2021-03-19
 */
@ApiModel("收货地址表Bean")
public class Addresses extends BaseDto {

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    private static final long serialVersionUID = 1616123921123L;

    @ApiModelProperty("所属用户ID")
    private Integer mId;
    @ApiModelProperty("姓名")
    private String name;
    @ApiModelProperty("手机号")
    private String mobile;
    @ApiModelProperty("省")
    private String province;
    @ApiModelProperty("市")
    private String city;
    @ApiModelProperty("区")
    private String area;
    @ApiModelProperty("详细地址")
    private String address;
    @ApiModelProperty("是否默认 1是 2否")
    private Integer isDefault;
    @ApiModelProperty("所属商家ID")
    private Integer merchantId;
    @ApiModelProperty("创建时间")
    private Date createdAt;
    @ApiModelProperty("更新时间")
    private Date updatedAt;
    /** 收货地址表集合 */
    private ArrayList<Integer> ids;
    /** 收货地址表集合 */
    private ArrayList<Addresses> addressess;

    /**
     * 以上由工具自动生成，以下为手动添加
     */

       /**
        * Empty constructor
        */
    public Addresses() {

    }

    /**
     * 此文件由工具自动生成，手动添加内容请放至末尾
     */

    /**
     * 获取 所属用户ID
     */
    public Integer getMId() {
        return mId;
    }

    /**
     * 设置 所属用户ID
     */
    public void setMId(Integer mId) {
        this.mId = mId;
    }

    /**
     * 获取 姓名
     */
    public String getName() {
        return name;
    }

    /**
     * 设置 姓名
     */
    public void setName(String name) {
        this.name = name;
    }

    /**
     * 获取 手机号
     */
    public String getMobile() {
        return mobile;
    }

    /**
     * 设置 手机号
     */
    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    /**
     * 获取 省
     */
    public String getProvince() {
        return province;
    }

    /**
     * 设置 省
     */
    public void setProvince(String province) {
        this.province = province;
    }

    /**
     * 获取 市
     */
    public String getCity() {
        return city;
    }

    /**
     * 设置 市
     */
    public void setCity(String city) {
        this.city = city;
    }

    /**
     * 获取 区
     */
    public String getArea() {
        return area;
    }

    /**
     * 设置 区
     */
    public void setArea(String area) {
        this.area = area;
    }

    /**
     * 获取 详细地址
     */
    public String getAddress() {
        return address;
    }

    /**
     * 设置 详细地址
     */
    public void setAddress(String address) {
        this.address = address;
    }

    /**
     * 获取 是否默认 1是 2否
     */
    public Integer getIsDefault() {
        return isDefault;
    }

    /**
     * 设置 是否默认 1是 2否
     */
    public void setIsDefault(Integer isDefault) {
        this.isDefault = isDefault;
    }

    /**
     * 获取 所属商家ID
     */
    public Integer getMerchantId() {
        return merchantId;
    }

    /**
     * 设置 所属商家ID
     */
    public void setMerchantId(Integer merchantId) {
        this.merchantId = merchantId;
    }

    /**
     * 获取 创建时间
     */
    public Date getCreatedAt() {
        return createdAt;
    }

    /**
     * 设置 创建时间
     */
    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    /**
     * 获取 更新时间
     */
    public Date getUpdatedAt() {
        return updatedAt;
    }

    /**
     * 设置 更新时间
     */
    public void setUpdatedAt(Date updatedAt) {
        this.updatedAt = updatedAt;
    }

    /**
     * 获取 收货地址表集合
     */
    public ArrayList<Integer> getIds() {
        return ids;
    }

    /**
     * 设置 收货地址表集合
     */
    public void setIds(ArrayList<Integer> ids) {
        this.ids = ids;
    }

    /**
     * 获取 收货地址表集合
     */
    public ArrayList<Addresses> getAddressess() {
        return addressess;
    }

    /**
     * 设置 收货地址表集合
     */
    public void setAddressess(ArrayList<Addresses> addressess) {
        this.addressess = addressess;
    }

    /**
     * 以上由工具自动生成，以下为手动添加
     */

    /**
     * 插入初始化
     * @throws Exception 
     */
    public void insertInit() throws Exception {
        Token token = TokenUtil.getToken();
        setMId(token.getMember().getId());
        Date now = DateUtil.nowDate();
        setCreatedAt(now);
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void updateInit() {
        Date now = DateUtil.nowDate();
        setUpdatedAt(now);
    }

    /**
     * 更新初始化
     */
    public void setUpdateNull() {
        setMId(null);
    }

}